.TH std::wcscpy 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::wcscpy \- std::wcscpy

.SH Synopsis
   Defined in header <cwchar>
   wchar_t* wcscpy( wchar_t* dest, const wchar_t* src );

   Copies the wide string pointed to by src (including the terminating null wide
   character) to wide character array pointed to by dest.

   If the strings overlap, the behavior is undefined.

.SH Parameters

   dest - pointer to the wide character array to copy to
   src  - pointer to the null-terminated wide string to copy from

.SH Return value

   dest

.SH Example


// Run this code

 #include <clocale>
 #include <cwchar>
 #include <iostream>
 #include <memory>

 int main()
 {
     const wchar_t* src = L"犬 means dog";
 //  src[0] = L'狗'; // can't modify string literal
     auto dst = std::make_unique<wchar_t[]>(std::wcslen(src) + 1); // +1 for the null
     std::wcscpy(dst.get(), src);
     dst[0] = L'狗';
     std::setlocale(LC_ALL, "en_US.utf8");
     std::wcout.imbue(std::locale(""));
     std::wcout << src << '\\n' << dst.get() << '\\n';
 }

.SH Output:

 犬 means dog
 狗 means dog

.SH See also

   wcsncpy copies a certain amount of wide characters from one string to another
           \fI(function)\fP
           copies a certain amount of wide characters between two non-overlapping
   wmemcpy arrays
           \fI(function)\fP
   strcpy  copies one string to another
           \fI(function)\fP
   C documentation for
   wcscpy
